/**
 * 身份认证相关API接口
 */

import { get, post, put } from '@/utils/api.js'

/**
 * 身份认证API类
 */
class IdentityAPI {
  /**
   * 查询用户身份认证信息
   * @param {number} uid 用户ID
   * @returns {Promise} 身份认证信息
   */
  static async getIdentityInfo(uid) {
    return await get(`/user/identity/info?uid=${uid}`)
  }

  /**
   * 保存用户身份认证信息
   * @param {Object} data 身份认证数据
   * @returns {Promise} 保存结果
   */
  static async saveIdentity(data) {
    return await post('/user/identity/save', data)
  }

  /**
   * 查询用户完整信息（包括身份认证信息）
   * @param {number} uid 用户ID
   * @returns {Promise} 用户完整信息
   */
  static async getUserProfile(uid) {
    return await get(`/user/identity/profile?uid=${uid}`)
  }

  /**
   * 查询用户基本信息
   * @param {number} uid 用户ID
   * @returns {Promise} 用户基本信息
   */
  static async getUserInfo(uid) {
    return await get(`/user/profile/info?uid=${uid}`)
  }

  /**
   * 更新用户头像
   * @param {number} uid 用户ID
   * @param {string} avatar 头像URL
   * @returns {Promise} 更新结果
   */
  static async updateAvatar(uid, avatar) {
    return await put('/user/profile/avatar', { uid, avatar })
  }

  /**
   * 更新用户姓名
   * @param {number} uid 用户ID
   * @param {string} name 姓名
   * @returns {Promise} 更新结果
   */
  static async updateName(uid, name) {
    return await put('/user/profile/name', { uid, name })
  }

  /**
   * 更新用户手机号
   * @param {number} uid 用户ID
   * @param {string} phone 手机号
   * @returns {Promise} 更新结果
   */
  static async updatePhone(uid, phone) {
    return await put('/user/profile/phone', { uid, phone })
  }
}

export default IdentityAPI
